package com.caocaog.market.service;

/**
 * 商品缓存清除
 *
 * @author chechen
 * @date 2022-04-23
 */
public interface GoodsCleanCacheService {

    /**
     * 根据店铺id 删除 GOODS_LIST_BY_CATEGORIES_ID 缓存
     *
     * @param shopId 店铺id
     */
    void cleanCacheGoodsInfoByShopId(String shopId);

    /**
     * 根据商品分类id 删除 GOODS_LIST_BY_CATEGORIES_ID 缓存
     *
     * @param categoriesId 商品分类id
     */
    void cleanCacheGoodsInfoByCategoriesId(String categoriesId);

    /**
     * 根据店铺id 删除 GOODS_CATEGORIES_LIST_BY_SHOP_ID GOODS_CATEGORIES_LIST_BY_SHOP_ID 缓存
     *
     * @param shopId 店铺id
     */
    void cleanCacheGoodsCategories(String shopId);

    /**
     * 根据店铺id 删除 GOODS_BASE_LIST_BY_CATEGORIES_ID GOODS_BASE_INFO 缓存
     *
     * @param shopId 店铺id
     */
    void cleanCacheGoodsBase(String shopId);

    /**
     * 根据店铺id 删除 GOODS_SPEC_LIST_BY_GOODS_ID GOODS_SPEC_INFO 缓存
     *
     * @param shopId 商品id
     */
    void cleanCacheGoodsSpec(String shopId);

    /**
     * 根据店铺id 删除 GOODS_ATTR_LIST_BY_GOODS_ID GOODS_ATTR_INFO 缓存
     *
     * @param shopId 店铺id
     */
    void cleanCacheGoodsAttr(String shopId);

    /**
     * 根据店铺id 删除关于店铺内所有商品的缓存
     *
     * @param shopId 店铺id
     */
    void cleanCacheGoodsAll(String shopId);

}
